package org.example.annotation;


import org.example.enums.BusinessType;

import java.lang.annotation.*;

/**
 * 自定义操作日志记录注解
 */
@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log {
    /**
     * 模块名称
     */
    String operation() default "";
    
    /**
     * 业务操作类型
     */
    BusinessType businessType() default BusinessType.LOGIN;
    
    /**
     * 详情是否保存请求数据
     */
    boolean isSaveRequestData() default false;
    
    /**
     * 详情
     */
    String context() default "";
    
    /**
     * 变量名称
     */
    String paramName() default "";
    
    /**
     * 需要需要拼接在详情后面的参数内容：属性名称
     */
    String jsonPath() default "";
}
